﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QLTV_Public;
using QLTV_BLL;

namespace QLTV_GiaoDien
{
    public partial class uc_TaiLieu : DevExpress.XtraEditors.XtraUserControl
    {
        public uc_TaiLieu()
        {
            InitializeComponent();
        }
        private int _kiemTra;

        public int KiemTra
        {
            get { return _kiemTra; }
            set { _kiemTra = value; }
        }
        public void getLoad(int load)
        {
            txt_Load.Text = load.ToString();

        }
        private void bbI_Them_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            frm_TaiLieu f = new frm_TaiLieu();
            f.Flag = 0;
            f.MyGetLoad = new frm_TaiLieu.GetInt(getLoad);
            f.ShowDialog();
        }

        private void bbI_Sua_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            frm_TaiLieu f = new frm_TaiLieu();
            f.Flag = 1;
            f.MyGetLoad = new frm_TaiLieu.GetInt(getLoad);
            f.MaTaiLieu = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Tài Liệu").ToString());
            f.TenTaiLieu = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tên Tài Liệu").ToString();
            f.TacGia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Giả").ToString();
            //f.MaTheLoai = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Thể Loại").ToString();
            //f.MaTacGia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Giả").ToString();
            //f.MaNhaXuatBan = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Nhà Xuất Bản").ToString();
            f.NamXuatBan = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Năm Xuất Bản").ToString());
            f.NoiDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tóm Tắt").ToString();
            //f.NgonNgu = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Ngôn Ngữ").ToString();
            f.SoTrang = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Trang").ToString());
            f.LanTaiBan = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Lần Tái Bản").ToString());
            f.GiaBia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Giá Bìa").ToString();
            f.SoLuong=Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Lượng").ToString());
            //f.TinhTrang = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tình Trạng").ToString();
            //f.MaViTri = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Vị Trí").ToString();
            f.NgayCapNhat = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Ngày Cập Nhật").ToString();
            f.ShowDialog();
        }
        private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            frm_TaiLieu f = new frm_TaiLieu();
            f.Flag = 2;
            f.MyGetLoad = new frm_TaiLieu.GetInt(getLoad);
            f.MaTaiLieu = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Tài Liệu").ToString());
            f.TenTaiLieu = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tên Tài Liệu").ToString();
            f.TacGia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Giả").ToString();
            //f.MaTheLoai = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Thể Loại").ToString();
            //f.MaTacGia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Giả").ToString();
            //f.MaNhaXuatBan = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Nhà Xuất Bản").ToString();
            f.NamXuatBan = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Năm Xuất Bản").ToString());
            f.NoiDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tóm Tắt").ToString();
            //f.NgonNgu = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Ngôn Ngữ").ToString();
            f.SoTrang = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Trang").ToString());
            f.LanTaiBan = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Lần Tái Bản").ToString());
            f.GiaBia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Giá Bìa").ToString();
            f.SoLuong = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Lượng").ToString());
            //f.TinhTrang = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tình Trạng").ToString();
            //f.MaViTri = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Vị Trí").ToString();
            f.NgayCapNhat = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Ngày Cập Nhật").ToString();
            f.ShowDialog();
           
        }
        private void gridControl1_DoubleClick(object sender, EventArgs e)
        {
            frm_TaiLieu f = new frm_TaiLieu();
            f.Flag = 2;
            f.MyGetLoad = new frm_TaiLieu.GetInt(getLoad);
            f.MaTaiLieu = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Tài Liệu").ToString());
            f.TenTaiLieu = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tên Tài Liệu").ToString();
            f.TacGia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Giả").ToString();
            //f.MaTheLoai = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Thể Loại").ToString();
            //f.MaTacGia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Giả").ToString();
            //f.MaNhaXuatBan = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Nhà Xuất Bản").ToString();
            f.NamXuatBan = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Năm Xuất Bản").ToString());
            f.NoiDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tóm Tắt").ToString();
            //f.NgonNgu = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Ngôn Ngữ").ToString();
            f.SoTrang = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Trang").ToString());
            f.LanTaiBan = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Lần Tái Bản").ToString());
            f.GiaBia = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Giá Bìa").ToString();
            f.SoLuong = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Lượng").ToString());
            //f.TinhTrang = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tình Trạng").ToString();
            //f.MaViTri = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Vị Trí").ToString();
            f.NgayCapNhat = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Ngày Cập Nhật").ToString();
            f.ShowDialog();
        }
        TaiLieu_BLL tailieu_bll = new TaiLieu_BLL();
        private void uc_TaiLieu_Load(object sender, EventArgs e)
        {
            gridControl1.DataSource = tailieu_bll.LayDuLieu();
            txt_Load.Hide();
            splitContainerControl1.Hide();
            splitContainerControl2.Hide();
            btn_CapNhat.Enabled = false;
            
        }

        public void bbi_Refresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
                uc_TaiLieu_Load(sender, e);
        }

        NhatKy_BLL nhatKy_bll = new NhatKy_BLL();
        NhatKy_Public nk = new NhatKy_Public();
        TrungGian tg = new TrungGian();
        private void bbI_Xoa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            TaiLieu_Public tl = new TaiLieu_Public();
            tl.MaTaiLieu = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Tài Liệu").ToString());
            tl.TenTaiLieu =(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tên Tài Liệu").ToString());
            if (XtraMessageBox.Show("Bạn Có Muốn Xóa Tài Liệu:" + tl.TenTaiLieu + " ,Có Mã Là:" + tl.MaTaiLieu + " Này Không?", "Thông Báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
            {  
                tailieu_bll.delete_taiLieu(tl);
                //
                string d = DateTime.Now.ToString();
                nk.MaNV = tg.MaNV;
                nk.NgayGio = d;
                nk.HanhDong = "Xóa";
                nk.MoTa = "Xóa thông tin Tài liệu: '" + tl.TenTaiLieu + "'";
                nhatKy_bll.insert_nhatKy(nk, nk, nk, nk);
                //
                uc_TaiLieu_Load(sender, e);
            }
            
        }

        private void txt_Load_TextChanged(object sender, EventArgs e)
        {
            if (txt_Load.Text == "1")
            {
                uc_TaiLieu_Load(sender, e);
                txt_Load.Text = "0";
            }
        }

        private void bbi_In_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            gridControl1.ShowPrintPreview();
            
        }


        private void bbi_TKKyTu_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (bbi_TKKyTu.Checked == true)
            {
                gridView1.OptionsFind.AlwaysVisible = true;
                gridView1.OptionsFind.SearchInPreview = true;
            }
            else
            {
                gridView1.OptionsFind.AlwaysVisible = false;
                gridView1.OptionsFind.SearchInPreview = false;
            }
        }

        private void btn_Thoat_Click(object sender, EventArgs e)
        {
            splitContainerControl1.Hide();
        }

        private void btn_Cancel_Click(object sender, EventArgs e)
        {
            splitContainerControl2.Hide();
        }

        private void bbi_CapNhatSL_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            splitContainerControl1.Show();
        }

        private void bbi_TKtenTaiLieu_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (bbi_TKtenTaiLieu.Checked == true)
                splitContainerControl2.Show();
            else
                splitContainerControl2.Hide();
        }

        private void txt_MaTaiLieu_TextChanged(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            string sql = "select * from tbl_TaiLieu where MaTaiLieu='"+txt_MaTaiLieu.Text+"'";
            dt = tailieu_bll.taoBang(sql);
            cob_SoLuong.DataSource = dt;
            cob_SoLuong.DisplayMember = "SoLuong";
            cob_TenTL.DataSource = dt;
            cob_TenTL.DisplayMember = "TenTaiLieu";
            if (dt.Rows.Count > 0)
            {
                errorProvider1.Clear();
                btn_CapNhat.Enabled = true;
            }
            else
            {
                errorProvider1.SetError(txt_MaTaiLieu, "Không tồn tại mã tài liệu này!");
                btn_CapNhat.Enabled = false;
            }
        }

        private void btn_CapNhat_Click(object sender, EventArgs e)
        {
            int slThem =int.Parse( txt_SoLuong.Text),slCu=int.Parse(cob_SoLuong.Text),kq;
            kq = slCu + slThem;
            TaiLieu_Public tl = new TaiLieu_Public();
            tl.MaTaiLieu = int.Parse(txt_MaTaiLieu.Text);
            tl.SoLuong = kq;
            tailieu_bll.update_TaiLieu_SoLuong(tl,tl);
            //
            string d = DateTime.Now.ToString();
            nk.MaNV = tg.MaNV;
            nk.NgayGio = d;
            nk.HanhDong = "Sửa";
            nk.MoTa = "Cập nhật thêm thông tin Số lượng của Tài liêu có Mã: '" +tl.MaTaiLieu + "' với Số lượng là: '" + txt_SoLuong.Text+ "'";
            nhatKy_bll.insert_nhatKy(nk, nk, nk, nk);
            //
            XtraMessageBox.Show("Thêm số lượng thành công!","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
            uc_TaiLieu_Load(sender,e);
            splitContainerControl1.Show();
            txt_MaTaiLieu.ResetText();
            txt_SoLuong.ResetText();
        }

        private void txt_MaTaiLieu_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {

                e.Handled = true;
            }
        }
    }
}
